﻿using System;
using System.Collections.Generic;
using System.Text;

namespace daSemanticAnalyser.SemanticTree
{
    using daSyntaxAnalyser.SyntaxTree;

    /// <summary>
    /// Именованный элемент семантического дерева
    /// </summary>
    public class NamedSemanticTreeElement : SemanticTreeElement, INamedSemanticElement
    {
        private string name;

        /// <summary>
        /// Имя элемента
        /// </summary>
        public string Name { get { return name; } set { name = value; } }

        /// <summary>
        /// Конструктор
        /// </summary>
        /// <param name="Name">имя элемента</param>
        /// <param name="Parent">родитель элемента семантического дерева</param>
        /// <param name="SyntaxElement">соответствующий элемент синтаксического дерева</param>
        public NamedSemanticTreeElement(string Name, IChildSemanticElement Parent, ISyntaxTreeElement SyntaxElement)
            : base(Parent, SyntaxElement)
        {
            name = Name;
        }

        /// <summary>
        /// Вывод элемента как строки
        /// </summary>
        /// <returns>строковое представление элемента</returns>
        public override string ToString()
        {
            return name;
        }
    }
}
